package com.gxa.web_admin.controller.hy;

import com.gxa.common.base.RespResult;
import com.gxa.modules.service.AddressService;
import com.gxa.modules.dto.AdvancedSearchDTO;
import io.swagger.annotations.Api;
import net.sf.ehcache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * 内部通讯录
 */
@Api(value = "内部通讯录",tags = "内部通讯录api")
@Controller
@RequestMapping("/address")
public class AddressController {
    @Autowired
    private AddressService addressService;


    /**
     * 通讯录列表(包括其他部门的查询)
     * 查询的部门序号(0-9 其中0:全部,1:总经办…9:已离职）
     * @param currentPage
     * @param pageSize
     * @param type
     * @return
     */
    @GetMapping("/findAll")
    @ResponseBody
    public RespResult findAll(Integer currentPage,Integer pageSize,Integer type){
        return  addressService.findEmployeeByDepart(type,currentPage,pageSize);
    }

    /**
     * 搜索(包括所有部门)
     * @param currentPage 当前页码数
     * @param pageSize 每页显示记录数
     * @param type 查询的部门序号(0-9 其中0:全部,1:总经办…9:已离职）
     * @param value 搜索的条件字段
     * @return
     */
    @PostMapping("/search")
    @ResponseBody
    public RespResult search(Integer currentPage,Integer pageSize,Integer type,String value){
        return addressService.search(currentPage,pageSize,type,value);
    }

    /**
     * 搜索(包括所有部门)
     * @param
     * @return
     */
    @PostMapping("/advancedSearch")
    @ResponseBody
    public RespResult advancedSearch(@RequestBody AdvancedSearchDTO advancedSearchDTO){
        return addressService.advancedSearch(advancedSearchDTO);
    }

}
